#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include "unp.h"

int
main(int argc, char *argv[]) {
    int                 sockfd;
    struct sockaddr_in  servaddr;

    if (argc != 2) {
        printf("usage: %s <IPaddress>\n", argv[0]);
        exit(1);
    }

    if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        perror("openning stream sock");
        exit(1);
    }

    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family         = AF_INET;
    inet_pton(AF_INET, argv[1], &servaddr.sin_addr);//将点分十进制的IP表示转化成网络二进制
    servaddr.sin_port           = htons(SERV_PORT);

    if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {
        perror("connecting server");
        exit(1);
    }

    str_cli(stdin, sockfd); //处理此连接上的数据传输

    return 0;
}

